脆弱性診断ができるTenable.ioをAWSで利用するときの構成イメージについてまとめてみた
ご機嫌いかがでしょうか、豊崎です。
SaaSで利用できる脆弱性診断のサービスのTenable.ioの検証を行なっています。 すでに弊社坂巻がブログを何本か投稿していますが、Tenable.ioに登場する用語とコンポーネントについて整理してみました。
用語およびコンポーネントについて
Nessus
Nessus(ネサス)は、Tenable Network Security社がコンピュータセキュリティに関して開発した包括的な脆弱性検知スキャナである。非商用(個人使用)として無料で使用できる。このプログラムの目的は、システム上の潜在的な脆弱性を検知することである。
https://ja.wikipedia.org/wiki/Nessus
Nessus Scanner
ネットワークスキャナです。ターゲットシステム(EC2など)に対してエージェントレスでネットワークスキャンを実行し、スキャン結果をTnable.ioにアップロードする。
Nessus Agent
診断対象(EC2など)にインストールするエージェントタイプのスキャナです。 Tenable.ioに問い合わせを行い実施すべきスキャンがあるか確認し、必要に応じてシステムのスキャンを実行し、スキャン結果をTnable.ioにアップロードする。
Nessus Network Monitor
ネットーワークトラフィックをモニタすることでサイバーリスク情報を収集するスキャナです。ネットワーク機器のミラーポート/SPANポートに接続してトラフィックをモニタします。AWSにおいてはEC2をNATサーバとして設定したのちにNessus Network Monitorをインストールすることで、利用が可能です。まだ検証が完了していないので、本投稿では説明を行いません。
ちなみに、インストール手順は以下です。
https://docs.tenable.com/nnm/deployment/Content/AWSCloudInstructionsNatGateway.htm
AWSで利用するときの構成イメージ
Tenable.io側のNessus Scannerを使用するパターン
インターネットを経由して対象の診断を行います。後述のNessus ScannerやNessus Agentを自分で管理する必要がありません。 非常にシンプルに利用することが可能です。当然診断対象がTenable.ioからの通信を許可している必要があります
VPC内に配置されたNessus Scannerを使用するパターン
診断対象と同一ネットワーク内にNessus Scannerを構築します。
診断対象にエージェントをインストールする必要がないので、診断対象が大量になった場合もAgentの配布などを考慮する必要がありません。
ファイアウォール/ルータ/帯域の細いネットワークを超えないよう、ネットワークごとにNessus Scannerを設置することが推奨されています。 AWSに当てはめるとVPCごとに配置するイメージになるかと思います。
また、AWS Marketplaceに公開されているNessusScannerを利用すれば、AWS事前承認済みのため脆弱性診断の事前申請を行う必要がありません。
VPC内の診断対象EC2にNessus Agentをインストールするパターン
セキュリティポリシー的に外部ポートの設定を変更できない場合や、不定期なサーバの停止などが発生する場合にはNessus Agentが選択肢になります。 オンプレミス環境などではクライアント端末などについてもNessus Agentを利用することになります。Agent自身が情報を取得するので、Nessus Scannerに比べてVPC内のネットワークへの影響は小さいです。
さいごに
本投稿ではTenable.ioの基本的な用語、コンポーネントについてまとめてみました。Tenable.ioのイメージがついたところで各Scanテンプレートの検証を行なっていきたいと思います。